home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / src-16f.lha / ldb / os.h < prev    next >
C/C++ Source or Header  |  1991-11-06  |  1KB  |  48 lines

  1. /*
  2.  * $Header: os.h,v 1.2 91/05/24 17:57:40 wlott Exp $
  3.  *
  4.  * Common interface for os-dependent functions.
  5.  *
  6.  */
  7.  
  8. #if !defined(_OS_H_INCLUDED_)
  9.  
  10. #define _OS_H_INCLUDED_
  11.  
  12. #ifdef MACH
  13. #include "mach-os.h"
  14. #else
  15. #ifdef sun
  16. #include "sunos-os.h"
  17. #endif
  18. #endif
  19.  
  20. #define OS_VM_PROT_ALL (OS_VM_PROT_READ|OS_VM_PROT_WRITE|OS_VM_PROT_EXECUTE)
  21.  
  22. extern os_vm_size_t os_vm_page_size;
  23.  
  24. extern void os_install_interrupt_handlers();
  25.  
  26. extern os_vm_address_t os_allocate(), os_reallocate();
  27. void os_deallocate();
  28.  
  29. extern os_vm_address_t os_validate();
  30. extern void os_invalidate();
  31. extern void os_zero();
  32. extern os_vm_address_t os_map();
  33. extern void os_flush_icache();
  34. extern void os_protect();
  35. extern boolean valid_addr();
  36.  
  37. #define os_trunc_to_page(addr) \
  38.     (os_vm_address_t)((long)addr&~(os_vm_page_size-1))
  39. #define os_round_up_to_page(addr) \
  40.     os_trunc_to_page(addr+(os_vm_page_size-1))
  41.  
  42. #define os_trunc_size_to_page(size) \
  43.     (os_vm_size_t)((long)size&~(os_vm_page_size-1))
  44. #define os_round_up_size_to_page(size) \
  45.     os_trunc_size_to_page(size+(os_vm_page_size-1))
  46.  
  47. #endif
  48.